home *** CD-ROM | disk | FTP | other *** search
- OPT OSVERSION=37
-
- /* Traitements des erreurs */
- ENUM OUT_OF_MEMORY,ARGS_ERROR,IO_ERROR
-
- RAISE OUT_OF_MEMORY IF New()=NIL,
- ARGS_ERROR IF ReadArgs()=NIL,
- IO_ERROR IF Open()=NIL
-
- /**********************/
- /* Corps du programme */
- /**********************/
- PROC main() HANDLE
- DEF rdargs,arguments:PTR TO LONG,version
- DEF fichier,adr_fichier,long_fichier,fin_fichier,pointeur_car
- DEF deb_phrase
-
- Vprintf(' \c1;33;40\cOptiMUI2E\c0;31;40\c v1.1\n',[$9B,$6D,$9B,$6D])
- PutStr('Copyright © 1993, Lionel Vintenat\n')
- Vprintf('\c1;32;40\c---------------------------------\c0;31;40\c\n',[$9B,$6D,$9B,$6D])
- version:='$VER: OptiMUI2E 1.1 (10.3.94)'
-
- arguments:=[NIL,NIL]
- rdargs:=ReadArgs('FROM/A,TO/A',arguments,NIL)
-
- fichier:=Open(arguments[0],OLDFILE)
- long_fichier:=FileLength(arguments[0])
- adr_fichier:=New(long_fichier)
- fin_fichier:=adr_fichier+long_fichier
- deb_phrase:=adr_fichier
- Read(fichier,adr_fichier,long_fichier)
- Close(fichier)
-
- fichier:=Open(arguments[1],NEWFILE)
-
- /* cherche la chaine "', [TAG_IGNORE, 0" */
- MOVE.L adr_fichier,A0
- MOVE.L fin_fichier,A1
- while0:
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- while1:
- CMP.B #"'",D0 /* Char(pointeur_car)="'" ? */
- BNE.B while0
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #",",D0 /* Char(pointeur_car)="," ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #" ",D0 /* Char(pointeur_car)=" " ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"[",D0 /* Char(pointeur_car)="[" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"T",D0 /* Char(pointeur_car)="T" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"A",D0 /* Char(pointeur_car)="A" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"G",D0 /* Char(pointeur_car)="G" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"_",D0 /* Char(pointeur_car)="_" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"I",D0 /* Char(pointeur_car)="I" ? */
- BNE.B while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"G",D0 /* Char(pointeur_car)="G" ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"N",D0 /* Char(pointeur_car)="N" ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"O",D0 /* Char(pointeur_car)="O" ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"R",D0 /* Char(pointeur_car)="R" ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"E",D0 /* Char(pointeur_car)="E" ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #",",D0 /* Char(pointeur_car)="," ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.W fin_while1
- MOVE.B (A0)+,D0
- CMP.B #" ",D0 /* Char(pointeur_car)=" " ? */
- BNE.W while1
-
- CMPA.L A1,A0 /* pointeur_car=fin_fichier ? */
- BEQ.B fin_while1
- MOVE.B (A0)+,D0
- CMP.B #"0",D0 /* Char(pointeur_car)="0" ? */
- BNE.W while1
-
- MOVE.L A0,pointeur_car
- Write(fichier,deb_phrase,pointeur_car-deb_phrase-13)
- MOVE.L pointeur_car,A0
- MOVE.L fin_fichier,A1
-
- while2:
- CMPA.L A1,A0
- BEQ.B fin_while1
- MOVE.B (A0)+,D0
- CMP.B #",",D0
- BEQ.B while2
- CMP.B #" ",D0
- BEQ.B while2
- CMP.B #9,D0
- BEQ.B while2
- CMP.B #10,D0
- BEQ.B while2
- fin_while2:
- SUBQ.L #1,A0
- MOVE.L A0,deb_phrase
- BRA.W while1
- fin_while1:
- MOVE.L A0,pointeur_car
- Write(fichier,deb_phrase,pointeur_car-deb_phrase)
-
- Close(fichier)
- FreeArgs(rdargs)
- EXCEPT
- SELECT exception
- CASE ARGS_ERROR
- PrintFault(IoErr(),NIL)
- CASE OUT_OF_MEMORY
- PutStr('Out of memory !\n')
- CASE IO_ERROR
- PrintFault(IoErr(),NIL)
- ENDSELECT
-
- IF rdargs THEN FreeArgs(rdargs)
-
- CleanUp(100)
- ENDPROC
-
-